package lee.lxwei.boot.listener;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.ContextStoppedEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

/**
 * 监听所有事件
 */
@Slf4j
@Component
public class ObjectListener {

    /**
     * 参数任意(为Object）的时候所有事件都会监听到所有，该参数事件，或者其子事件（子类）都可以接收到
     *
     * @param event
     */
    @EventListener
    public void event(Object event) {
        log.info("object Listener {}", event.getClass());
    }

    /**
     * 监听spring的事件（运用停止事件,Application.stop()方法时候监听到。
     */
    @EventListener
    public void eventStop(ContextStoppedEvent event) {
        System.out.println("应用停止事件==========：" + event.getClass());
    }

}
